**Final project proposal** (#) Chun-Yi She (f0070nw) (##) Motivational image Theme: Reflections on Time A row of bottle can be arranged with different angles of light that creates different lengths of shadows to represent the past of time. Shadows is the main subject, caustics should also be included to make the image more realistic. ![Bottles can be arranged in a way such that it resembles sunlight coming at different angle](./bottles.jfif) Image Link: https://nl.pinterest.com/pin/13018286415426640/ ![Caustics](./Orange.jfif) Image Link: https://nl.pinterest.com/pin/363525001182353052/ (##) Proposed features and points Photon Mapping (8pts) - for caustics effect Intel's Open Image Denoise integration (3pts) - for denoising Parellization with Nanothread/C++17 Execution Policy/OpenMP (2pts) - speed up rendering SBVH (4pts) - speed up rendering (##) Stretch goals (optional) Homogeneous Scattering Participating Media(4pts) - fluids inside the bottles (##) SBVH I ran the leaderboard scene from assignment 2 to compare the performance between three spliting methods. ``` Middle Total intersection tests per ray: 2.8 Nodes visited per ray: 40.09 Figure of merit: 112.49 SAH Total intersection tests per ray: 3.0 Nodes visited per ray: 35.37 Figure of merit: 106.3 SBVH Total intersection tests per ray: 2.9 Nodes visited per ray: 34.34 Figure of merit: 99.62 ``` Middle Statistics: ``` Statistics: ——————————————————————————————————————————————————————————————————————————————————————————————— BBH Nodes visited per ray 59745037 / 1490097 (40.09x) Geometry Triangles per mesh 60788 / 1 (60788.00x) Integrator Camera rays traced 645120 Intersections Quad intersection tests per hit 1044269 / 526726 (1.98x) Total intersection tests per ray 4180664 / 1490097 (2.81x) Triangle intersection tests per hit 3136395 / 368239 (8.52x) Memory Triangles 3.59 MiB Scene Materials 1 Surfaces 2 ——————————————————————————————————————————————————————————————————————————————————————————————— ``` SAH Statistics ``` Statistics: ——————————————————————————————————————————————————————————————————————————————————————————————— BBH Nodes visited per ray 51371681 / 1452375 (35.37x) Geometry Triangles per mesh 60788 / 1 (60788.00x) Integrator Camera rays traced 622080 Intersections Quad intersection tests per hit 1217853 / 716632 (1.70x) Total intersection tests per ray 4365060 / 1452375 (3.01x) Triangle intersection tests per hit 3147207 / 380719 (8.27x) Memory Triangles 3.59 MiB Scene Materials 1 Surfaces 2 ——————————————————————————————————————————————————————————————————————————————————————————————— ``` SBVH Statistics ``` Statistics: ——————————————————————————————————————————————————————————————————————————————————————————————— BBH Nodes visited per ray 51030823 / 1485955 (34.34x) Geometry Triangles per mesh 60788 / 1 (60788.00x) Integrator Camera rays traced 645120 Intersections Quad intersection tests per hit 1255343 / 737421 (1.70x) Total intersection tests per ray 4310580 / 1485955 (2.90x) Triangle intersection tests per hit 3055237 / 370423 (8.25x) Memory Triangles 3.59 MiB Scene Materials 1 Surfaces 2 ——————————————————————————————————————————————————————————————————————————————————————————————— ``` Here are the render results from that scene:
middle sah sbvh
(##) Open Image Denoise integration Ran color denoising and got the following results:
before color
(##) Parellization with Nanothread/C++17 Execution Policy/OpenMP For the cornell box scene, I ran both single thread and multi-thread with 24 threads. The following are the results: The single thread took 1min 9seconds to render the scene, while the multi-thread took 6 seconds to render the scene. single thread multi thread (##) Photon Mapping The following comparisons has the default parameters as the following: "search radius": 0.001, "serach count": 500, "total samples": 5000000 Photon Mapping with different radius:
r = 0.001 r = 0.1
search samples = 500 search samples = 10
total samples = 5,000,000 total samples = 50,000
normal photon map final gather
(##) Final Image final image